iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

HTML、 PHP CRUD 自我學習系列 第 11

第11天 - PHP修改MySQL資料表內容

  • 分享至 

  • xImage
  •  

今天來做從網頁修改MySQL資料表內容(修改會員的名稱)

首先要做出一個修改按鈕(雖然說是按鈕,但我用帶有超連結功能的【a標籤】來實行)如下

<a href="staff_edit.php?ST_EDIT=<?php echo $row['staff_id'];?>" 
   class="badge badge-info">
   修改
</a>

而上面的程式碼,可以參考第09天的文章,放在相對的位置(我放在刪除按鈕的旁邊)
https://ithelp.ithome.com.tw/articles/10261775
https://ithelp.ithome.com.tw/upload/images/20210911/2014135531Bt5LGDnh.png

再來就是 新建立一個.PHP檔 (我取名staff_edit.php),注意【a標籤】的內容有staff_edit.php
而 問號 後面的 ST_EDIT= 有一個地方會用到,如下:

<?php
/*儲存修改會員名稱*/
if(isset($_POST['staff_edit_btn']))
{
	
	$st_name = $_POST['staff_edit'];
	$st_id =$_POST['ST_ID'];
	$query2="UPDATE staff
			 SET staff_name ='$st_name'
			 WHERE staff_id ='$st_id' ";

	$query_run2 = mysqli_query($con,$query2);
	if($query_run2)
	{
		//修改成功則回到上個頁面(或其他指定頁面)
		header('Location: Hello.php');
	}
	else
	{
		//修改失敗則停留在此頁面
		header('Location: staff_edit.php');
	}
}
?>
<body>
<div class="container">
<?php
    //這裡有用到【a標籤】的內
    //此頁面內容是要抓【a標籤】所帶來的<?php echo $row['staff_id'];?>(會員id)
    //因為會員id不會重複,所以才知道要抓(GET)哪個來進行修改會員名稱
	$ST_ID = $_GET['ST_EDIT'];
    
	$query = "SELECT * FROM staff WHERE staff_id='$ST_ID' ";
	$query_run = mysqli_query($con,$query);
?>
<?php
	if(mysqli_num_rows($query_run) > 0)
	{
		foreach($query_run as $row)
		{
			?>
			<form method="POST">
				<div class="form-group">
					<!-- 注意下面的 input type="hidden" ,
						上面的PHP 要依據這來修改會員名稱 -->
					<input type="hidden" name="ST_ID" value="<?php echo $row['staff_id'];?>">
					
					<label>修改會員名稱:</label>
				    <input type="text" name="staff_edit" 
				    value="<?php echo $row['staff_name'];?>">
				</div>
				<button name="staff_edit_btn">儲存修改</button>
			</form>

<?php
		}
	}
	else
	{
		echo "尚未建立任何會員等級";
	}
?>
</div>
</body>

操作結果
https://ithelp.ithome.com.tw/upload/images/20210911/201413557aA129KpgP.png

https://ithelp.ithome.com.tw/upload/images/20210911/20141355hvTm4Afgxb.png

https://ithelp.ithome.com.tw/upload/images/20210911/20141355R7PQL3xikX.png

做這個實作要注意的是記得要放 input type="hidden"的標籤(裡面的值要放具有唯一性的,如 會員ID << 雖然是修改會員名稱,但還是要依靠ID才能實行),這樣程式碼才知道要依據哪個做修改。

今天就先這樣,下次見。


上一篇
第10天 - PHP新增MySQL資料表內容
下一篇
第12天 - 用 PHP Session 與 Bootstrap 做警告(提示)
系列文
HTML、 PHP CRUD 自我學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言